package mtt.us.client.views.login.link;


import mtt.us.client.MTTUS;
import mtt.us.client.views.login.link.events.ShowLoginViewEvent;

import com.google.gwt.user.client.History;
import com.google.gwt.user.client.HistoryListener;
import com.google.gwt.user.client.ui.Hyperlink;
import com.google.gwt.user.client.ui.Widget;

import hmvc4gwt.client.view.View;

public class LoginLinkView extends View implements HistoryListener {
	
	/**
	 * enthält den HistoryLink auf den die View reagiert
	 */
	private static final String historyTokenLogin = "login";
	
	/**
	 * enthält die CSS-Classe für das Widget
	 */
	private static final String style = "loginPanel";
	
	private Hyperlink linkLogin = new Hyperlink();

	public Widget getWidget() {
		return linkLogin;
	}
	
	public void doInit() {
		
		/*
		 * CSS-Style-Name setzen
		 */
		linkLogin.setStylePrimaryName(style);
		
		/*
		 * Text und historyToken setzen
		 */
		linkLogin.setText(MTTUS.constants.link_login());
		linkLogin.setTargetHistoryToken(historyTokenLogin);
		
		/*
		 * View als HistoryListener registrieren
		 */
		History.addHistoryListener(this);
		
	}

	public void onHistoryChanged(String historyToken) {
	
		if (historyToken.equals(historyTokenLogin)) {
			
			/*
			 * Login-View anzeigen
			 */
			getController().fireLocalEvent(new ShowLoginViewEvent());
		}
		
	}

}
